﻿//------------------------------------------------------------------------------
// <copyright file="AboutDialogPackage.cs" company="Company">
//     Copyright (c) Company.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Shell;

namespace csql.addin
{
    /// <summary>
    /// This package is exposed by the assembly.
    /// </summary>
    /// <remarks>
    /// <para>
    /// The minimum requirement for a class to be considered a valid package for Visual Studio
    /// is to implement the IVsPackage interface and register itself with the shell.
    /// </para><para>
    /// This package uses the helper classes defined inside the Managed Package Framework (MPF)
    /// to do it: it derives from the Package class that provides the implementation of the
    /// IVsPackage interface and uses the registration attributes defined in the framework to
    /// register itself and its components with the shell. These attributes tell the pkgdef creation
    /// utility what data to put into .pkgdef file.
    /// </para><para>
    /// To get loaded into VS, the package must be referred by &lt;Asset Type="Microsoft.VisualStudio.VsPackage" ...&gt; in .vsixmanifest file.
    /// </para>
    /// </remarks>
    [PackageRegistration( UseManagedResourcesOnly = true )]
    // Info on this package for Help/About
    [InstalledProductRegistration( "#110", "#112", "1.0", IconResourceID = 400 )]
	[ProvideMenuResource( "Menus.ctmenu", 1 )]
//	[ProvideToolWindow( typeof( Gui.AboutDialog ) )]
	[Guid( CSqlPackage.PackageGuidString )]
	[SuppressMessage( "StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms" )]
	[ProvideMenuResource("Menus.ctmenu", 1)]
	public sealed class CSqlPackage : Package
	{
		/// <summary>
		/// Package GUID string.
		/// </summary>
		public const string PackageGuidString = "10c424ec-b301-40de-a7a2-19921bae125d";

		/// <summary>
		/// Initializes a new instance of the <see cref="AboutDialog"/> class.
		/// </summary>
		public CSqlPackage()
		{
			// Inside this method you can place any initialization code that does not require
			// any Visual Studio service because at this point the package object is created but
			// not sited yet inside Visual Studio environment. The place to do all the other
			// initialization is the Initialize method.
		}

		#region Package Members

		/// <summary>
		/// Initializaiton of the package; this method is called right after the package is sited, so this is the place
		/// where you can put all the initialization code that rely on services provided by VisualStudio.
		/// </summary>
		protected override void Initialize()
		{
			// AboutDialogCommand.Initialize( this );
			base.Initialize();
		}

		#endregion
	}
}
